const state = {
	// 现场维修 - 申请任务 - 故障描述 - 文本内容
	textMsgList: [],
	
	// 现场维修 - 申请任务 - 故障描述 - 图片内容
	pictureList: [],
	
	// 现场维修 - 申请任务 - 故障描述 - 录音内容
	voiceList: [],
	
	// 现场维修 - 申请任务 - 故障描述 - 视频内容
	videoList: [],
	
	// 被点击组件的字段值
	currentField: '',
	
	// 故障件系统分类列表（用来匹配故障件系统分类切换后的值）
	classifyList: [
		{ label: '液压系统', id: 2001 },
		{ label: '传动系统', id: 2002 },
		{ label: '制动系统', id: 2003 },
		{ label: '电气系统及仪表', id: 2004 },
		{ label: '转向系统', id: 2005 },
		{ label: '冷却系统', id: 2006 },
		{ label: '外观及覆盖件', id: 2007 },
		{ label: '起重系统', id: 2008 },
		{ label: '动力系统', id: 2009 },
	],
	
	// 添加的故障件列表（也可以用于页面详情）
	repairList: [
		// {
		// 	classifyTitle: '系统分类',
		// 	classifyName: '液压系统',
		// 	isExpand: false,
		// 	list: [
		// 		{ label: '名称', value: '测试1', prop: 'name', theme: 'table', readonly: true, textMsgList: [], pictureList: [], voiceList: [], videoList: [] },
		// 		{ label: '图件号', value: '测试', prop: 'num', theme: 'table', readonly: true, textMsgList: [], pictureList: [], voiceList: [], videoList: [] },
		// 		{ label: '单价', value: '1', prop: 'unitPrice', textMsgList: [], pictureList: [], voiceList: [], videoList: [] },
		// 		{ label: '附件', value: '', prop: 'attachment', textMsgList: [], pictureList: [], voiceList: [], videoList: [] },
		// 		{ label: '需求数量', value: '1', prop: 'demand', textMsgList: [], pictureList: [], voiceList: [], videoList: [] },
		// 		{ label: '申请数量', value: '1', prop: 'apply', textMsgList: [], pictureList: [], voiceList: [], videoList: [] },
		// 		{ label: '单位', value: '个', prop: 'unit', textMsgList: [], pictureList: [], voiceList: [], videoList: [] },
		// 		{ label: '故障件条码', value: '11', prop: 'repairNo', textMsgList: [], pictureList: [], voiceList: [], videoList: [], repairNoList: [] },
		// 		{ label: '维修类型', value: '动力系统', prop: 'repairType', textMsgList: [], pictureList: [], voiceList: [], videoList: [] },
		// 		{ label: '结算类型', value: '货币结算', prop: 'settlementType', textMsgList: [], pictureList: [], voiceList: [], videoList: [] },
		// 	]
		// }
	],
	
	// 故障件条码列表
	// componentBarcodes: [
	// 	// { oldBarcode: '156425445', newBarcode: '424558211' }
	// ],
}

const mutations = {
	// 设置故障描述
	// type：1 文本，2 图片，3 录音，4 视频
	setDescInfo(state, params) {
		if (params.type === 1) {
			state.textMsgList = params.data
		} else if (params.type === 2) {
			state.pictureList = params.data
		} else if (params.type === 3) {
			state.voiceList = params.data
		} else if (params.type === 4) {
			state.videoList = params.data
		}
	},
	
	// 设置被点击的组件字段（目前用在页面详情的各种单个组件描述中）
	setCurrentField(state, field) {
		state.currentField = field
	},
	
	// 添加故障件信息
	setRepairComponent(state, data) {
		state.repairList.push(data)
	},
	
	// 删除某个故障件信息
	delRepairComponent(state, index) {
		state.repairList.forEach((item, i) => {
			if (index === i) {
				state.repairList.splice(index, 1)
			}
		})
	},
	
	// 重置故障件信息
	resetRepairComponent(state, data) {
		state.repairList = data
	},
	
	// 添加新旧故障件码
	addComponentBarcode(state, { index, data }) {
		let repairList = JSON.parse(JSON.stringify(state.repairList))
		
		repairList.forEach((item, key) => {
			if (key === index) {
				item.list.forEach(j => {
					if (j.prop === 'repairNo') {
						j.repairNoList = data
					}
				})
			}
		})
		
		state.repairList = repairList
	},
}

const actions = {
	
}

const getters = {
	
}

export default {
	namespaced: true,
	state,
	mutations,
	actions,
	getters
}